The present invention relates to a system and method for transmitting blocks of data between network nodes and end systems coupled to a network. Specifically, the system and method provide capability for a network node, source system or destination system on the network to selectively reduce or increase bandwidth allotted to a given connection.
Asynchronous transfer mode (ATM) involves the transfer of data in discrete digital packets between two end systems coupled to a network. The discrete packets of data are known as cells. ATM block transfer (ABT) is an ATM transfer capability in which data is partitioned into blocks of data cells that are delineated by resource management (RM) cells, which contain stored information to describe the characteristics desired for transfer of the ensuing blocks of data cells. For example, an ABT RM cell contains a value stored in a block cell rate (BCR) field, which represents the maximum rate at which the subsequent block of data cells may be transmitted.
In existing block transfer capabilities, a network element makes a binary decision to accept or reject a request from an end-system for a new, or higher block cell rate. The following scenario illustrates the implications of this binary decision with reference to FIG. 1. A source end system is coupled to a destination end system through a plurality of network nodes, via an ATM connection. However, no bandwidth is initially allocated to this connection. When a source end system needs to send a block of data, it initiates a request, for a specific block cell rate (BCR), to a given destination end system. The request is made by the source issuing an ABT RM cell on the previously established connection requesting the network to allocate bandwidth to the connection at the desired block cell rate.
If a network node cannot grant the requested rate, the network node rejects the request, even though it might be able to support a lower rate. This is inefficient because in almost all cases, the source does not have a minimum speed requirement, and simply needs to transmit data at the highest rate supported by the network. However, neither during nor after the rejection does the network node communicate what rate it could have accepted back to the source. Thus, the source system has to blindly issue a new ABT RM cell requesting a lower rate. This request might in turn be rejected, requiring one or more further requests before a request is granted. A binary decision by a network node to accept or reject a requested BCR based on available bandwidth, therefore, leads to inefficiency through a needless proliferation of RM cell requests for bandwidth.
The deficiencies of a binary decision to accept or reject a request for bandwidth described above are remedied with a flexible bandwidth negotiation. Each network element along a connection between a source and destination system can reduce the requested bandwidth to a level that the network element can grant. When a network element receives a request for an increase in bandwidth, the network element determines the rate that it can support. If the rate that the network element can support is less than the requested rate, rather than simply rejecting the requested rate, the network element overwrites the rate encoded in the appropriate field in the arriving RM cell with a lower rate than requested, based on the rate that the network element determined that it could support. If the network element can support the requested rate, the rate encoded in the RM cell is left unchanged.
A network element that selectively modifies a rate of a block transfer connection includes ingress and egress links that are coupled to a network. A control unit is coupled to the ingress and egress links and receives a cell having a block cell rate encoded therein for a connection. The control unit modifies the encoded block cell rate and transmits the cell along the connection to establish the modified rate.
A method for selectively modifying a rate of a block transfer connection includes receiving a cell from a network having an encoded requested rate for requesting additional bandwidth. An available rate that can be granted to the request is determined, either upon or prior to the arrival of the cell, which may be less than the requested rate. The received cell is then modified by writing the available rate into the cell over the requested rate and is then transmitted back into the network on the given connection. Subsequently, the source end-system learns of the rate granted to the connection.